var q = null;
window.PR_SHOULD_USE_CONTINUATION = !0;
(function () {
  function L(a) {
    function m(a) {
      var f = a.charCodeAt(0);
      if (f !== 92) return f;
      var b = a.charAt(1);
      return (f = r[b])
        ? f
        : "0" <= b && b <= "7"
          ? parseInt(a.substring(1), 8)
          : b === "u" || b === "x"
            ? parseInt(a.substring(2), 16)
            : a.charCodeAt(1);
    }
    function e(a) {
      if (a < 32) return (a < 16 ? "\\x0" : "\\x") + a.toString(16);
      a = String.fromCharCode(a);
      if (a === "\\" || a === "-" || a === "[" || a === "]") a = "\\" + a;
      return a;
    }
    function h(a) {
      for (
        var f = a
            .substring(1, a.length - 1)
            .match(
              /\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g,
            ),
          a = [],
          b = [],
          o = f[0] === "^",
          c = o ? 1 : 0,
          i = f.length;
        c < i;
        ++c
      ) {
        var j = f[c];
        if (/\\[bdsw]/i.test(j)) a.push(j);
        else {
          var j = m(j),
            d;
          c + 2 < i && "-" === f[c + 1]
            ? ((d = m(f[c + 2])), (c += 2))
            : (d = j);
          b.push([j, d]);
          d < 65 ||
            j > 122 ||
            (d < 65 ||
              j > 90 ||
              b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]),
            d < 97 ||
              j > 122 ||
              b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33]));
        }
      }
      b.sort(function (a, f) {
        return a[0] - f[0] || f[1] - a[1];
      });
      f = [];
      j = [NaN, NaN];
      for (c = 0; c < b.length; ++c)
        (i = b[c]),
          i[0] <= j[1] + 1 ? (j[1] = Math.max(j[1], i[1])) : f.push((j = i));
      b = ["["];
      o && b.push("^");
      b.push.apply(b, a);
      for (c = 0; c < f.length; ++c)
        (i = f[c]),
          b.push(e(i[0])),
          i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"), b.push(e(i[1])));
      b.push("]");
      return b.join("");
    }
    function y(a) {
      for (
        var f = a.source.match(
            /\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g,
          ),
          b = f.length,
          d = [],
          c = 0,
          i = 0;
        c < b;
        ++c
      ) {
        var j = f[c];
        j === "("
          ? ++i
          : "\\" === j.charAt(0) &&
            (j = +j.substring(1)) &&
            j <= i &&
            (d[j] = -1);
      }
      for (c = 1; c < d.length; ++c) -1 === d[c] && (d[c] = ++t);
      for (i = c = 0; c < b; ++c)
        (j = f[c]),
          j === "("
            ? (++i, d[i] === void 0 && (f[c] = "(?:"))
            : "\\" === j.charAt(0) &&
              (j = +j.substring(1)) &&
              j <= i &&
              (f[c] = "\\" + d[i]);
      for (i = c = 0; c < b; ++c)
        "^" === f[c] && "^" !== f[c + 1] && (f[c] = "");
      if (a.ignoreCase && s)
        for (c = 0; c < b; ++c)
          (j = f[c]),
            (a = j.charAt(0)),
            j.length >= 2 && a === "["
              ? (f[c] = h(j))
              : a !== "\\" &&
                (f[c] = j.replace(/[A-Za-z]/g, function (a) {
                  a = a.charCodeAt(0);
                  return "[" + String.fromCharCode(a & -33, a | 32) + "]";
                }));
      return f.join("");
    }
    for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) {
      var g = a[p];
      if (g.ignoreCase) l = !0;
      else if (
        /[a-z]/i.test(
          g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""),
        )
      ) {
        s = !0;
        l = !1;
        break;
      }
    }
    for (
      var r = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 },
        n = [],
        p = 0,
        d = a.length;
      p < d;
      ++p
    ) {
      g = a[p];
      if (g.global || g.multiline) throw Error("" + g);
      n.push("(?:" + y(g) + ")");
    }
    return RegExp(n.join("|"), l ? "gi" : "g");
  }
  function M(a) {
    function m(a) {
      switch (a.nodeType) {
        case 1:
          if (e.test(a.className)) break;
          for (var g = a.firstChild; g; g = g.nextSibling) m(g);
          g = a.nodeName;
          if ("BR" === g || "LI" === g)
            (h[s] = "\n"), (t[s << 1] = y++), (t[(s++ << 1) | 1] = a);
          break;
        case 3:
        case 4:
          (g = a.nodeValue),
            g.length &&
              ((g = p
                ? g.replace(/\r\n?/g, "\n")
                : g.replace(/[\t\n\r ]+/g, " ")),
              (h[s] = g),
              (t[s << 1] = y),
              (y += g.length),
              (t[(s++ << 1) | 1] = a));
      }
    }
    var e = /(?:^|\s)nocode(?:\s|$)/,
      h = [],
      y = 0,
      t = [],
      s = 0,
      l;
    a.currentStyle
      ? (l = a.currentStyle.whiteSpace)
      : window.getComputedStyle &&
        (l = document.defaultView
          .getComputedStyle(a, q)
          .getPropertyValue("white-space"));
    var p = l && "pre" === l.substring(0, 3);
    m(a);
    return { a: h.join("").replace(/\n$/, ""), c: t };
  }
  function B(a, m, e, h) {
    m && ((a = { a: m, d: a }), e(a), h.push.apply(h, a.e));
  }
  function x(a, m) {
    function e(a) {
      for (
        var l = a.d,
          p = [l, "pln"],
          d = 0,
          g = a.a.match(y) || [],
          r = {},
          n = 0,
          z = g.length;
        n < z;
        ++n
      ) {
        var f = g[n],
          b = r[f],
          o = void 0,
          c;
        if (typeof b === "string") c = !1;
        else {
          var i = h[f.charAt(0)];
          if (i) (o = f.match(i[1])), (b = i[0]);
          else {
            for (c = 0; c < t; ++c)
              if (((i = m[c]), (o = f.match(i[1])))) {
                b = i[0];
                break;
              }
            o || (b = "pln");
          }
          if (
            (c = b.length >= 5 && "lang-" === b.substring(0, 5)) &&
            !(o && typeof o[1] === "string")
          )
            (c = !1), (b = "src");
          c || (r[f] = b);
        }
        i = d;
        d += f.length;
        if (c) {
          c = o[1];
          var j = f.indexOf(c),
            k = j + c.length;
          o[2] && ((k = f.length - o[2].length), (j = k - c.length));
          b = b.substring(5);
          B(l + i, f.substring(0, j), e, p);
          B(l + i + j, c, C(b, c), p);
          B(l + i + k, f.substring(k), e, p);
        } else p.push(l + i, b);
      }
      a.e = p;
    }
    var h = {},
      y;
    (function () {
      for (
        var e = a.concat(m), l = [], p = {}, d = 0, g = e.length;
        d < g;
        ++d
      ) {
        var r = e[d],
          n = r[3];
        if (n) for (var k = n.length; --k >= 0; ) h[n.charAt(k)] = r;
        r = r[1];
        n = "" + r;
        p.hasOwnProperty(n) || (l.push(r), (p[n] = q));
      }
      l.push(/[\S\s]/);
      y = L(l);
    })();
    var t = m.length;
    return e;
  }
  function u(a) {
    var m = [],
      e = [];
    a.tripleQuotedStrings
      ? m.push([
          "str",
          /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,
          q,
          "'\"",
        ])
      : a.multiLineStrings
        ? m.push([
            "str",
            /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
            q,
            "'\"`",
          ])
        : m.push([
            "str",
            /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,
            q,
            "\"'",
          ]);
    a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]);
    var h = a.hashComments;
    h &&
      (a.cStyleComments
        ? (h > 1
            ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"])
            : m.push([
                "com",
                /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,
                q,
                "#",
              ]),
          e.push([
            "str",
            /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
            q,
          ]))
        : m.push(["com", /^#[^\n\r]*/, q, "#"]));
    a.cStyleComments &&
      (e.push(["com", /^\/\/[^\n\r]*/, q]),
      e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q]));
    a.regexLiterals &&
      e.push([
        "lang-regex",
        /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/,
      ]);
    (h = a.types) && e.push(["typ", h]);
    a = ("" + a.keywords).replace(/^ | $/g, "");
    a.length &&
      e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]);
    m.push(["pln", /^\s+/, q, " \r\n\t\xa0"]);
    e.push(
      ["lit", /^@[$_a-z][\w$@]*/i, q],
      ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q],
      ["pln", /^[$_a-z][\w$@]*/i, q],
      [
        "lit",
        /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,
        q,
        "0123456789",
      ],
      ["pln", /^\\[\S\s]?/, q],
      ["pun", /^.[^\s\w"-$'./@\\`]*/, q],
    );
    return x(m, e);
  }
  function D(a, m) {
    function e(a) {
      switch (a.nodeType) {
        case 1:
          if (k.test(a.className)) break;
          if ("BR" === a.nodeName)
            h(a), a.parentNode && a.parentNode.removeChild(a);
          else for (a = a.firstChild; a; a = a.nextSibling) e(a);
          break;
        case 3:
        case 4:
          if (p) {
            var b = a.nodeValue,
              d = b.match(t);
            if (d) {
              var c = b.substring(0, d.index);
              a.nodeValue = c;
              (b = b.substring(d.index + d[0].length)) &&
                a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling);
              h(a);
              c || a.parentNode.removeChild(a);
            }
          }
      }
    }
    function h(a) {
      function b(a, d) {
        var e = d ? a.cloneNode(!1) : a,
          f = a.parentNode;
        if (f) {
          var f = b(f, 1),
            g = a.nextSibling;
          f.appendChild(e);
          for (var h = g; h; h = g) (g = h.nextSibling), f.appendChild(h);
        }
        return e;
      }
      for (; !a.nextSibling; ) if (((a = a.parentNode), !a)) return;
      for (
        var a = b(a.nextSibling, 0), e;
        (e = a.parentNode) && e.nodeType === 1;

      )
        a = e;
      d.push(a);
    }
    var k = /(?:^|\s)nocode(?:\s|$)/,
      t = /\r\n?|\n/,
      s = a.ownerDocument,
      l;
    a.currentStyle
      ? (l = a.currentStyle.whiteSpace)
      : window.getComputedStyle &&
        (l = s.defaultView
          .getComputedStyle(a, q)
          .getPropertyValue("white-space"));
    var p = l && "pre" === l.substring(0, 3);
    for (l = s.createElement("LI"); a.firstChild; ) l.appendChild(a.firstChild);
    for (var d = [l], g = 0; g < d.length; ++g) e(d[g]);
    m === (m | 0) && d[0].setAttribute("value", m);
    var r = s.createElement("OL");
    r.className = "linenums";
    for (var n = Math.max(0, (m - 1) | 0) || 0, g = 0, z = d.length; g < z; ++g)
      (l = d[g]),
        (l.className = "L" + ((g + n) % 10)),
        l.firstChild || l.appendChild(s.createTextNode("\xa0")),
        r.appendChild(l);
    a.appendChild(r);
  }
  function k(a, m) {
    for (var e = m.length; --e >= 0; ) {
      var h = m[e];
      A.hasOwnProperty(h)
        ? window.console &&
          console.warn("cannot override language handler %s", h)
        : (A[h] = a);
    }
  }
  function C(a, m) {
    if (!a || !A.hasOwnProperty(a))
      a = /^\s*</.test(m) ? "default-markup" : "default-code";
    return A[a];
  }
  function E(a) {
    var m = a.g;
    try {
      var e = M(a.h),
        h = e.a;
      a.a = h;
      a.c = e.c;
      a.d = 0;
      C(m, h)(a);
      var k = /\bMSIE\b/.test(navigator.userAgent),
        m = /\n/g,
        t = a.a,
        s = t.length,
        e = 0,
        l = a.c,
        p = l.length,
        h = 0,
        d = a.e,
        g = d.length,
        a = 0;
      d[g] = s;
      var r, n;
      for (n = r = 0; n < g; )
        d[n] !== d[n + 2] ? ((d[r++] = d[n++]), (d[r++] = d[n++])) : (n += 2);
      g = r;
      for (n = r = 0; n < g; ) {
        for (
          var z = d[n], f = d[n + 1], b = n + 2;
          b + 2 <= g && d[b + 1] === f;

        )
          b += 2;
        d[r++] = z;
        d[r++] = f;
        n = b;
      }
      for (d.length = r; h < p; ) {
        var o = l[h + 2] || s,
          c = d[a + 2] || s,
          b = Math.min(o, c),
          i = l[h + 1],
          j;
        if (i.nodeType !== 1 && (j = t.substring(e, b))) {
          k && (j = j.replace(m, "\r"));
          i.nodeValue = j;
          var u = i.ownerDocument,
            v = u.createElement("SPAN");
          v.className = d[a + 1];
          var x = i.parentNode;
          x.replaceChild(v, i);
          v.appendChild(i);
          e < o &&
            ((l[h + 1] = i = u.createTextNode(t.substring(b, o))),
            x.insertBefore(i, v.nextSibling));
        }
        e = b;
        e >= o && (h += 2);
        e >= c && (a += 2);
      }
    } catch (w) {
      "console" in window && console.log(w && w.stack ? w.stack : w);
    }
  }
  var v = ["break,continue,do,else,for,if,return,while"],
    w = [
      [
        v,
        "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile",
      ],
      "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof",
    ],
    F = [
      w,
      "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where",
    ],
    G = [
      w,
      "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient",
    ],
    H = [
      G,
      "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var",
    ],
    w = [
      w,
      "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN",
    ],
    I = [
      v,
      "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None",
    ],
    J = [
      v,
      "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END",
    ],
    v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"],
    K =
      /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,
    N = /\S/,
    O = u({
      keywords: [
        F,
        H,
        w,
        "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" +
          I,
        J,
        v,
      ],
      hashComments: !0,
      cStyleComments: !0,
      multiLineStrings: !0,
      regexLiterals: !0,
    }),
    A = {};
  k(O, ["default-code"]);
  k(
    x(
      [],
      [
        ["pln", /^[^<?]+/],
        ["dec", /^<!\w[^>]*(?:>|$)/],
        ["com", /^<\!--[\S\s]*?(?:--\>|$)/],
        ["lang-", /^<\?([\S\s]+?)(?:\?>|$)/],
        ["lang-", /^<%([\S\s]+?)(?:%>|$)/],
        ["pun", /^(?:<[%?]|[%?]>)/],
        ["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],
        ["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],
        ["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],
        ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i],
      ],
    ),
    ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"],
  );
  k(
    x(
      [
        ["pln", /^\s+/, q, " \t\r\n"],
        ["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"],
      ],
      [
        ["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],
        ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
        ["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],
        ["pun", /^[/<->]+/],
        ["lang-js", /^on\w+\s*=\s*"([^"]+)"/i],
        ["lang-js", /^on\w+\s*=\s*'([^']+)'/i],
        ["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i],
        ["lang-css", /^style\s*=\s*"([^"]+)"/i],
        ["lang-css", /^style\s*=\s*'([^']+)'/i],
        ["lang-css", /^style\s*=\s*([^\s"'>]+)/i],
      ],
    ),
    ["in.tag"],
  );
  k(x([], [["atv", /^[\S\s]+/]]), ["uq.val"]);
  k(u({ keywords: F, hashComments: !0, cStyleComments: !0, types: K }), [
    "c",
    "cc",
    "cpp",
    "cxx",
    "cyc",
    "m",
  ]);
  k(u({ keywords: "null,true,false" }), ["json"]);
  k(
    u({
      keywords: H,
      hashComments: !0,
      cStyleComments: !0,
      verbatimStrings: !0,
      types: K,
    }),
    ["cs"],
  );
  k(u({ keywords: G, cStyleComments: !0 }), ["java"]);
  k(u({ keywords: v, hashComments: !0, multiLineStrings: !0 }), [
    "bsh",
    "csh",
    "sh",
  ]);
  k(
    u({
      keywords: I,
      hashComments: !0,
      multiLineStrings: !0,
      tripleQuotedStrings: !0,
    }),
    ["cv", "py"],
  );
  k(
    u({
      keywords:
        "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
      hashComments: !0,
      multiLineStrings: !0,
      regexLiterals: !0,
    }),
    ["perl", "pl", "pm"],
  );
  k(
    u({
      keywords: J,
      hashComments: !0,
      multiLineStrings: !0,
      regexLiterals: !0,
    }),
    ["rb"],
  );
  k(u({ keywords: w, cStyleComments: !0, regexLiterals: !0 }), ["js"]);
  k(
    u({
      keywords:
        "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
      hashComments: 3,
      cStyleComments: !0,
      multilineStrings: !0,
      tripleQuotedStrings: !0,
      regexLiterals: !0,
    }),
    ["coffee"],
  );
  k(x([], [["str", /^[\S\s]+/]]), ["regex"]);
  window.prettyPrintOne = function (a, m, e) {
    var h = document.createElement("PRE");
    h.innerHTML = a;
    e && D(h, e);
    E({ g: m, i: e, h: h });
    return h.innerHTML;
  };
  window.prettyPrint = function (a) {
    function m() {
      for (
        var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity;
        p < h.length && l.now() < e;
        p++
      ) {
        var n = h[p],
          k = n.className;
        if (k.indexOf("prettyprint") >= 0) {
          var k = k.match(g),
            f,
            b;
          if ((b = !k)) {
            b = n;
            for (var o = void 0, c = b.firstChild; c; c = c.nextSibling)
              var i = c.nodeType,
                o =
                  i === 1
                    ? o
                      ? b
                      : c
                    : i === 3
                      ? N.test(c.nodeValue)
                        ? b
                        : o
                      : o;
            b = (f = o === b ? void 0 : o) && "CODE" === f.tagName;
          }
          b && (k = f.className.match(g));
          k && (k = k[1]);
          b = !1;
          for (o = n.parentNode; o; o = o.parentNode)
            if (
              (o.tagName === "pre" ||
                o.tagName === "code" ||
                o.tagName === "xmp") &&
              o.className &&
              o.className.indexOf("prettyprint") >= 0
            ) {
              b = !0;
              break;
            }
          b ||
            ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/))
              ? b[1] && b[1].length
                ? +b[1]
                : !0
              : !1) && D(n, b),
            (d = { g: k, h: n, i: b }),
            E(d));
        }
      }
      p < h.length ? setTimeout(m, 250) : a && a();
    }
    for (
      var e = [
          document.getElementsByTagName("pre"),
          document.getElementsByTagName("code"),
          document.getElementsByTagName("xmp"),
        ],
        h = [],
        k = 0;
      k < e.length;
      ++k
    )
      for (var t = 0, s = e[k].length; t < s; ++t) h.push(e[k][t]);
    var e = q,
      l = Date;
    l.now ||
      (l = {
        now: function () {
          return +new Date();
        },
      });
    var p = 0,
      d,
      g = /\blang(?:uage)?-([\w.]+)(?!\S)/;
    m();
  };
  window.PR = {
    createSimpleLexer: x,
    registerLangHandler: k,
    sourceDecorator: u,
    PR_ATTRIB_NAME: "atn",
    PR_ATTRIB_VALUE: "atv",
    PR_COMMENT: "com",
    PR_DECLARATION: "dec",
    PR_KEYWORD: "kwd",
    PR_LITERAL: "lit",
    PR_NOCODE: "nocode",
    PR_PLAIN: "pln",
    PR_PUNCTUATION: "pun",
    PR_SOURCE: "src",
    PR_STRING: "str",
    PR_TAG: "tag",
    PR_TYPE: "typ",
  };
})();

// make code pretty
window.prettyPrint && prettyPrint();
